<html lang="zh-cn">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="referrer" content="origin">
    <meta http-equiv="Cache-Control" content="no-transform">
    <meta http-equiv="Cache-Control" content="no-siteapp">
    <title>java Html 转 PDF - 上路edc - 博客园</title>

    <meta property="og:description"
          content="Html 转 PDF 使用 flying saucer 插件来完成 导入flying saucer依赖 java 代码实现 中文乱码问题：确保你项目下有simhei.ttf文件,加上此行代码 注意：f">
    <link type="text/css" rel="stylesheet"
          href="/bundles/blog-common.css?v=KOZafwuaDasEedEenI5aTy8aXH0epbm6VUJ0v3vsT_Q1">
    <link id="MainCss" type="text/css" rel="stylesheet"
          href="/skins/CodingLife/bundle-CodingLife.css?v=B2ahlykUFl7DLZ045D6cN7qHiurXaL46n9Vl4QS4-aw1">
    <link type="text/css" rel="stylesheet" href="/blog/customcss/372797.css?v=8lZgzwZZCC5%2fHiJE2bSmYY2KWd8%3d">
    <link id="mobile-style" media="only screen and (max-width: 767px)" type="text/css" rel="stylesheet"
          href="/skins/CodingLife/bundle-CodingLife-mobile.css?v=nSeK_P8BAqpQ4UDLpcwd6yl-jVYCXnR833BwkQ30uqQ1">
    <link title="RSS" type="application/rss+xml" rel="alternate" href="https://www.cnblogs.com/bkyxnc/rss">
    <link title="RSD" type="application/rsd+xml" rel="EditURI" href="https://www.cnblogs.com/bkyxnc/rsd.xml">
    <link type="application/wlwmanifest+xml" rel="wlwmanifest" href="https://www.cnblogs.com/bkyxnc/wlwmanifest.xml">
    <script src="https://www.googletagservices.com/activeview/js/current/osd.js?cb=%2Fr20100101"></script>
    <script src="https://cdn.ampproject.org/rtv/011906111828200/amp4ads-host-v0.js"></script>
    <script src="https://securepubads.g.doubleclick.net/gpt/pubads_impl_rendering_2019062401.js"></script>
    <script async="" src="https://www.google-analytics.com/analytics.js"></script>
    <script src="//common.cnblogs.com/scripts/jquery-2.2.0.min.js"></script>
    <script>var currentBlogId = 372797;
    var currentBlogApp = 'bkyxnc', cb_enable_mathjax = false;
    var isLogined = false;</script>
    <script src="/bundles/blog-common.js?v=smtcUT5dhdu_5eEO8CKHYoVc7DPLgEBGzp6zKkstlzg1"
            type="text/javascript"></script>
    <link rel="preload" href="https://adservice.google.com/adsid/integrator.js?domain=www.cnblogs.com" as="script">
    <script type="text/javascript"
            src="https://adservice.google.com/adsid/integrator.js?domain=www.cnblogs.com"></script>
    <script src="https://securepubads.g.doubleclick.net/gpt/pubads_impl_2019062401.js" async=""></script>
    <link rel="prefetch" href="https://tpc.googlesyndication.com/safeframe/1-0-35/html/container.html">
</head>
<body>
<a name="top"></a>


<!--done-->
<div id="home">
    <div id="header">
        <div id="blogTitle">
            <a id="lnkBlogLogo" href="https://www.cnblogs.com/bkyxnc/"><img id="blogLogo"
                                                                            src="/Skins/custom/images/logo.gif"
                                                                            alt="返回主页"></a>

            <!--done-->
            <h1><a id="Header1_HeaderTitle" class="headermaintitle" href="https://www.cnblogs.com/bkyxnc/">笔记</a></h1>
            <h2></h2>


        </div><!--end: blogTitle 博客的标题和副标题 -->
        <div id="navigator">

            <ul id="navList">
                <li><a id="blog_nav_sitehome" class="menu" href="https://www.cnblogs.com/">博客园</a></li>
                <li><a id="blog_nav_myhome" class="menu" href="https://www.cnblogs.com/bkyxnc/">首页</a></li>
                <li><a id="blog_nav_newpost" class="menu" rel="nofollow"
                       href="https://i.cnblogs.com/EditPosts.aspx?opt=1">新随笔</a></li>
                <li><a id="blog_nav_contact" class="menu" rel="nofollow"
                       href="https://msg.cnblogs.com/send/%E4%B8%8A%E8%B7%AFedc">联系</a></li>
                <li><a id="blog_nav_rss" class="menu" href="https://www.cnblogs.com/bkyxnc/rss">订阅</a>
                    <!--<a id="blog_nav_rss_image" class="aHeaderXML" href="https://www.cnblogs.com/bkyxnc/rss"><img src="//www.cnblogs.com/images/xml.gif" alt="订阅" /></a>-->
                </li>
                <li><a id="blog_nav_admin" class="menu" rel="nofollow" href="https://i.cnblogs.com/">管理</a></li>
            </ul>
            <div class="blogStats">

                <div id="blog_stats">
                    <span id="stats_post_count">随笔 - 4&nbsp; </span>
                    <span id="stats_article_count">文章 - 0&nbsp; </span>
                    <span id="stats-comment_count">评论 - 0</span>
                </div>

            </div><!--end: blogStats -->
        </div><!--end: navigator 博客导航栏 -->
    </div><!--end: header 头部 -->

    <div id="main">
        <div id="mainContent">
            <div class="forFlow">

                <div id="post_detail">
                    <!--done-->
                    <div id="topics">
                        <div class="post">
                            <h1 class="postTitle">
                                <a id="cb_post_title_url" class="postTitle2"
                                   href="https://www.cnblogs.com/bkyxnc/p/8989593.html">java Html 转 PDF</a>
                            </h1>
                            <div class="clear"></div>
                            <div class="postBody">
                                <div id="cnblogs_post_body" class="blogpost-body cnblogs-markdown"><h3 id="html-转-pdf">
                                    Html 转 PDF</h3>
                                    <ul>
                                        <li>使用 flying-saucer 插件来完成</li>
                                        <li>导入flying-saucer依赖</li>
                                    </ul>
                                    <pre class="xml"><code class="hljs">        <span class="hljs-tag">&lt;<span
                                            class="hljs-name">dependency</span>&gt;</span>
            <span class="hljs-tag">&lt;<span class="hljs-name">groupId</span>&gt;</span>org.xhtmlrenderer<span
                                                class="hljs-tag">&lt;/<span class="hljs-name">groupId</span>&gt;</span>
            <span class="hljs-tag">&lt;<span class="hljs-name">artifactId</span>&gt;</span>flying-saucer-pdf<span
                                                class="hljs-tag">&lt;/<span
                                                class="hljs-name">artifactId</span>&gt;</span>
            <span class="hljs-tag">&lt;<span class="hljs-name">version</span>&gt;</span>9.0.8<span class="hljs-tag">&lt;/<span
                                                class="hljs-name">version</span>&gt;</span>
        <span class="hljs-tag">&lt;/<span class="hljs-name">dependency</span>&gt;</span></code></pre>
                                    <ul>
                                        <li>java 代码实现</li>
                                    </ul>
                                    <pre class="java"><code class="hljs">    <span class="hljs-comment">/**
     * <span class="hljs-doctag">@param</span> inputFile 你的html 路径
     * <span class="hljs-doctag">@param</span> outFile 生成PDF的路径
     * <span class="hljs-doctag">@return</span>
     */</span>
    <span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> Boolean <span
            class="hljs-title">HtmlCovertPdf</span><span
            class="hljs-params">(String inputFile,String outFile)</span></span>{
        FileOutputStream os = <span class="hljs-keyword">null</span>;
        <span class="hljs-keyword">try</span> {
            os = <span class="hljs-keyword">new</span> FileOutputStream(outFile);
            ITextRenderer renderer = <span class="hljs-keyword">new</span> ITextRenderer();
            ITextFontResolver fontResolver = renderer.getFontResolver();
            <span class="hljs-comment">//处理中文             fontResolver.addFont("simhei.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);</span>
            String url = <span class="hljs-keyword">new</span> File(inputFile).toURI().toURL().toString();
            renderer.setDocument(url);
            renderer.layout();
            renderer.createPDF(os);
            <span class="hljs-keyword">return</span> <span class="hljs-keyword">true</span>;
        } <span class="hljs-keyword">catch</span> (Exception e) {
            e.printStackTrace();
            <span class="hljs-keyword">return</span> <span class="hljs-keyword">false</span>;
        } <span class="hljs-keyword">finally</span> {
            <span class="hljs-keyword">try</span> {
                os.close();
                System.out.println(<span class="hljs-string">"aa"</span>);
            } <span class="hljs-keyword">catch</span> (IOException e) {
                e.printStackTrace();
            }
        }
    }</code></pre>
                                    <ul>
                                        <li>中文乱码问题：确保你项目下有simhei.ttf文件,加上此行代码</li>
                                    </ul>
                                    <pre class="java"><code class="hljs">    <span class="hljs-comment">//这是处理黑体的</span>
    java ontResolver.addFont(<span class="hljs-string">"simhei.ttf"</span>, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);

    <span class="hljs-comment">//这是处理宋体的</span>
    fontResolver.addFont(<span class="hljs-string">"simsun.ttc"</span>, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);</code></pre>
                                    <p><strong>注意：flying-saucer对Html格式要求非常严格，每个标签元素必须要结尾，对css3的支持也不是特别的好。</strong></p>
                                </div>
                                <div id="MySignature"></div>
                                <div class="clear"></div>
                                <div id="blog_post_info_block">
                                    <div id="BlogPostCategory">分类: <a
                                            href="https://www.cnblogs.com/bkyxnc/category/1055331.html" target="_blank">java</a>
                                    </div>
                                    <div id="EntryTag"></div>
                                    <div id="blog_post_info">
                                        <div id="green_channel">
                                            <a href="javascript:void(0);" id="green_channel_digg"
                                               onclick="DiggIt(8989593,cb_blogId,1);green_channel_success(this,'谢谢推荐！');">好文要顶</a>
                                            <a id="green_channel_follow"
                                               onclick="follow('fb8d09cf-fbda-46a5-f173-08d49c352df2');"
                                               href="javascript:void(0);">关注我</a>
                                            <a id="green_channel_favorite" onclick="AddToWz(cb_entryId);return false;"
                                               href="javascript:void(0);">收藏该文</a>
                                            <a id="green_channel_weibo" href="javascript:void(0);" title="分享至新浪微博"
                                               onclick="ShareToTsina()"><img
                                                    src="//common.cnblogs.com/images/icon_weibo_24.png" alt=""></a>
                                            <a id="green_channel_wechat" href="javascript:void(0);" title="分享至微信"
                                               onclick="shareOnWechat()"><img
                                                    src="//common.cnblogs.com/images/wechat.png" alt=""></a>
                                        </div>
                                        <div id="author_profile">
                                            <div id="author_profile_info" class="author_profile_info">
                                                <a href="https://home.cnblogs.com/u/bkyxnc/" target="_blank"><img
                                                        src="//pic.cnblogs.com/face/sample_face.gif"
                                                        class="author_avatar" alt=""></a>
                                                <div id="author_profile_detail" class="author_profile_info">
                                                    <a href="https://home.cnblogs.com/u/bkyxnc/">上路edc</a><br>
                                                    <a href="https://home.cnblogs.com/u/bkyxnc/followees">关注 - 2</a><br>
                                                    <a href="https://home.cnblogs.com/u/bkyxnc/followers">粉丝 - 0</a>
                                                </div>
                                            </div>
                                            <div class="clear"></div>
                                            <div id="author_profile_honor"></div>
                                            <div id="author_profile_follow">
                                                <a href="javascript:void(0);"
                                                   onclick="follow('fb8d09cf-fbda-46a5-f173-08d49c352df2');return false;">+加关注</a>
                                            </div>
                                        </div>
                                        <div id="div_digg">
                                            <div class="diggit" onclick="votePost(8989593,'Digg')">
                                                <span class="diggnum" id="digg_count">0</span>
                                            </div>
                                            <div class="buryit" onclick="votePost(8989593,'Bury')">
                                                <span class="burynum" id="bury_count">0</span>
                                            </div>
                                            <div class="clear"></div>
                                            <div class="diggword" id="digg_tips">
                                            </div>
                                        </div>
                                        <script type="text/javascript">
                                            currentDiggType = 0;
                                        </script>
                                    </div>
                                    <div class="clear"></div>
                                    <div id="post_next_prev"><a href="https://www.cnblogs.com/bkyxnc/p/8989131.html"
                                                                class="p_n_p_prefix">« </a> 上一篇：<a
                                            href="https://www.cnblogs.com/bkyxnc/p/8989131.html"
                                            title="发布于2018-05-04 09:41">java 实现 PDF 加水印功能</a><br><a
                                            href="https://www.cnblogs.com/bkyxnc/p/9214147.html"
                                            class="p_n_p_prefix">» </a> 下一篇：<a
                                            href="https://www.cnblogs.com/bkyxnc/p/9214147.html"
                                            title="发布于2018-06-22 16:30">DataTable的Ajax使用</a><br></div>
                                </div>


                            </div>
                            <div class="postDesc">posted @ <span id="post-date">2018-05-04 10:59</span> <a
                                    href="https://www.cnblogs.com/bkyxnc/">上路edc</a> 阅读(<span
                                    id="post_view_count">753</span>) 评论(<span id="post_comment_count">0</span>) <a
                                    href="https://i.cnblogs.com/EditPosts.aspx?postid=8989593" rel="nofollow">编辑</a> <a
                                    href="#" onclick="AddToWz(8989593);return false;">收藏</a></div>
                        </div>
                        <script src="//common.cnblogs.com/highlight/9.12.0/highlight.min.js"></script>
                        <script>markdown_highlight();</script>
                        <script type="text/javascript">var allowComments = true, cb_blogId = 372797,
                            cb_entryId = 8989593, cb_blogApp = currentBlogApp,
                            cb_blogUserGuid = 'fb8d09cf-fbda-46a5-f173-08d49c352df2',
                            cb_entryCreatedDate = '2018/5/4 10:59:00';
                        loadViewCount(cb_entryId);
                        var cb_postType = 1;
                        var isMarkdown = true;</script>

                    </div><!--end: topics 文章、评论容器-->
                </div>
                <a name="!comments"></a>
                <div id="blog-comments-placeholder"></div>
                <script type="text/javascript">var commentManager = new blogCommentManager();
                commentManager.renderComments(0);</script>
                <div id="comment_form" class="commentform">
                    <a name="commentform"></a>
                    <div id="divCommentShow"></div>
                    <div id="comment_nav"><span id="span_refresh_tips"></span><a href="javascript:void(0);"
                                                                                 onclick="return RefreshCommentList();"
                                                                                 id="lnk_RefreshComments" runat="server"
                                                                                 clientidmode="Static">刷新评论</a><a
                            href="#" onclick="return RefreshPage();">刷新页面</a><a href="#top">返回顶部</a></div>
                    <div id="comment_form_container">
                        <div class="login_tips">注册用户登录后才能发表评论，请 <a rel="nofollow" href="javascript:void(0);"
                                                                   class="underline"
                                                                   onclick="return login('commentform');">登录</a> 或 <a
                                rel="nofollow" href="javascript:void(0);" class="underline"
                                onclick="return register();">注册</a>，<a href="http://www.cnblogs.com">访问</a>网站首页。
                        </div>
                    </div>
                    <div class="ad_text_commentbox" id="ad_text_under_commentbox"></div>
                    <div id="ad_t2"><a href="http://www.ucancode.com/index.htm" target="_blank"
                                       onclick="ga('send', 'event', 'Link', 'click', 'T2-工控')">【推荐】超50万C++/C#源码:
                        大型实时仿真组态图形源码</a><br><a
                            href="https://www.grapecity.com.cn/developer/spreadjs?utm_source=cnblogs&amp;utm_medium=blogpage&amp;utm_term=bottom&amp;utm_content=SpreadJS&amp;utm_campaign=community"
                            target="_blank" onclick="ga('send', 'event', 'Link', 'click', 'T2-SpreadJS')">【前端】SpreadJS表格控件，可嵌入系统开发的在线Excel</a><br><a
                            href="https://gitee.com/enterprises?from=bky-1" target="_blank"
                            onclick="ga('send', 'event', 'Link', 'click', 'T2-gitee')">【推荐】码云企业版，高效的企业级软件协作开发管理平台</a><br><a
                            href="https://q.cnblogs.com/" target="_blank"
                            onclick="ga('send', 'event', 'Link', 'click', 'T2-博问')">【推荐】程序员问答平台，解决您开发中遇到的技术难题</a><br>
                    </div>
                    <div id="opt_under_post"></div>
                    <script async="async" src="https://www.googletagservices.com/tag/js/gpt.js"></script>
                    <script>
                        var googletag = googletag || {};
                        googletag.cmd = googletag.cmd || [];
                    </script>
                    <script>
                        googletag.cmd.push(function () {
                            googletag.defineSlot('/1090369/C1', [300, 250], 'div-gpt-ad-1546353474406-0').addService(googletag.pubads());
                            googletag.defineSlot('/1090369/C2', [468, 60], 'div-gpt-ad-1539008685004-0').addService(googletag.pubads());
                            googletag.pubads().enableSingleRequest();
                            googletag.enableServices();
                        });
                    </script>
                    <div id="cnblogs_c1" class="c_ad_block">
                        <div id="div-gpt-ad-1546353474406-0" style="height:250px; width:300px;"
                             data-google-query-id="CIC-s83JmuMCFVUkYAodJHIDCA">
                            <div id="google_ads_iframe_/1090369/C1_0__container__" style="border: 0pt none;">
                                <iframe id="google_ads_iframe_/1090369/C1_0" title="3rd party ad content"
                                        name="google_ads_iframe_/1090369/C1_0" width="300" height="250" scrolling="no"
                                        marginwidth="0" marginheight="0" frameborder="0" srcdoc=""
                                        style="border: 0px; vertical-align: bottom;" data-google-container-id="1"
                                        data-load-complete="true"></iframe>
                            </div>
                        </div>
                    </div>
                    <div id="under_post_news">
                        <div class="recomm-block"><b>相关博文：</b><br>· <a
                                href="https://www.cnblogs.com/barros/p/3871652.html" target="_blank"
                                onclick="clickRecomItmem(3871652)">PDF解决方案（3）--PDF转SWF</a><br>· <a
                                href="https://www.cnblogs.com/liujiaq/p/5787724.html" target="_blank"
                                onclick="clickRecomItmem(5787724)">Markdown转pdf</a><br>· <a
                                href="https://www.cnblogs.com/dongjingzhiai/p/9019296.html" target="_blank"
                                onclick="clickRecomItmem(9019296)">使用flying-saucer-pdf实现html转换pdf补充</a><br>· <a
                                href="https://www.cnblogs.com/hfliyi/archive/2012/09/26/2703598.html" target="_blank"
                                onclick="clickRecomItmem(2703598)">pdf文件的创建(第三方插件)</a><br>· <a
                                href="https://www.cnblogs.com/youzhibing/p/7692366.html" target="_blank"
                                onclick="clickRecomItmem(7692366)">flying-saucer + iText + Freemarker实现pdf的导出，
                            支持中文、css以及图片</a><br></div>
                    </div>
                    <div id="cnblogs_c2" class="c_ad_block">
                        <div id="div-gpt-ad-1539008685004-0" style="height:60px; width:468px;"
                             data-google-query-id="CIG-s83JmuMCFVUkYAodJHIDCA">
                            <div id="google_ads_iframe_/1090369/C2_0__container__" style="border: 0pt none;">
                                <iframe id="google_ads_iframe_/1090369/C2_0" title="3rd party ad content"
                                        name="google_ads_iframe_/1090369/C2_0" width="468" height="60" scrolling="no"
                                        marginwidth="0" marginheight="0" frameborder="0" srcdoc=""
                                        data-google-container-id="2" style="border: 0px; vertical-align: bottom;"
                                        data-load-complete="true"></iframe>
                            </div>
                        </div>
                    </div>
                    <div id="under_post_kb">
                        <div class="itnews c_ad_block"><b>最新新闻</b>：<br> · <a href="https://news.cnblogs.com/n/627779/"
                                                                             target="_blank">我，就是数据：高中生把数据编入体内</a><br> ·
                            <a href="https://news.cnblogs.com/n/627778/"
                               target="_blank">苹果发布年度企业责任报告：在中国已支持500万个工作岗位</a><br> · <a
                                    href="https://news.cnblogs.com/n/627776/" target="_blank">Facebook全球崩溃11小时，暴露了科技巨头们用AI为你打的标签</a><br>
                            · <a href="https://news.cnblogs.com/n/627777/" target="_blank">对话|智能云凭什么能为李彦宏压轴？</a><br> ·
                            <a href="https://news.cnblogs.com/n/627775/" target="_blank">Facebook 回应议员联名公开信：期待 Libra
                                项目推进中与议员们合作</a><br>» <a href="http://news.cnblogs.com/" title="IT新闻" target="_blank">更多新闻...</a>
                        </div>
                    </div>
                    <div id="HistoryToday" class="c_ad_block"></div>
                    <script type="text/javascript">
                        if (enablePostBottom()) {
                            codeHighlight();
                            fixPostBody();
                            setTimeout(function () {
                                incrementViewCount(cb_entryId);
                            }, 50);
                            deliverT2();
                            deliverC1();
                            deliverC2();
                            loadNewsAndKb();
                            loadBlogSignature();
                            LoadPostInfoBlock(cb_blogId, cb_entryId, cb_blogApp, cb_blogUserGuid);
                            GetPrevNextPost(cb_entryId, cb_blogId, cb_entryCreatedDate, cb_postType);
                            loadOptUnderPost();
                            GetHistoryToday(cb_blogId, cb_blogApp, cb_entryCreatedDate);
                        }
                    </script>
                </div>


            </div><!--end: forFlow -->
        </div><!--end: mainContent 主体内容容器-->

        <div id="sideBar">
            <div id="sideBarMain">

                <!--done-->
                <div class="newsItem">
                    <h3 class="catListTitle">公告</h3>
                    <div id="blog-news"><a href="#" id="top" style="display: block">　顶部！</a>
                        <div id="profile_block">昵称：<a href="https://home.cnblogs.com/u/bkyxnc/">上路edc</a><br>园龄：<a
                                href="https://home.cnblogs.com/u/bkyxnc/" title="入园时间：2017-06-21">2年</a><br>粉丝：<a
                                href="https://home.cnblogs.com/u/bkyxnc/followers/">0</a><br>关注：<a
                                href="https://home.cnblogs.com/u/bkyxnc/followees/">2</a>
                            <div id="p_b_follow"><a href="javascript:void(0);"
                                                    onclick="follow('fb8d09cf-fbda-46a5-f173-08d49c352df2')">+加关注</a>
                            </div>
                            <script>getFollowStatus('fb8d09cf-fbda-46a5-f173-08d49c352df2')</script>
                        </div>
                    </div>
                    <script type="text/javascript">loadBlogNews();</script>
                </div>

                <div id="blog-calendar" style="">
                    <table id="blogCalendar" class="Cal" cellspacing="0" cellpadding="0" title="Calendar">
                        <tbody>
                        <tr>
                            <td colspan="7">
                                <table class="CalTitle" cellspacing="0">
                                    <tbody>
                                    <tr>
                                        <td class="CalNextPrev"><a href="javascript:void(0);"
                                                                   onclick="loadBlogCalendar('2019/06/01');return false;">&lt;</a>
                                        </td>
                                        <td align="center">2019年7月</td>
                                        <td class="CalNextPrev" align="right"><a href="javascript:void(0);"
                                                                                 onclick="loadBlogCalendar('2019/08/01');return false;">&gt;</a>
                                        </td>
                                    </tr>
                                    </tbody>
                                </table>
                            </td>
                        </tr>
                        <tr>
                            <th class="CalDayHeader" align="center" abbr="日" scope="col">日</th>
                            <th class="CalDayHeader" align="center" abbr="一" scope="col">一</th>
                            <th class="CalDayHeader" align="center" abbr="二" scope="col">二</th>
                            <th class="CalDayHeader" align="center" abbr="三" scope="col">三</th>
                            <th class="CalDayHeader" align="center" abbr="四" scope="col">四</th>
                            <th class="CalDayHeader" align="center" abbr="五" scope="col">五</th>
                            <th class="CalDayHeader" align="center" abbr="六" scope="col">六</th>
                        </tr>
                        <tr>
                            <td class="CalOtherMonthDay" align="center">30</td>
                            <td align="center">1</td>
                            <td align="center">2</td>
                            <td align="center">3</td>
                            <td class="CalTodayDay" align="center">4</td>
                            <td align="center">5</td>
                            <td class="CalWeekendDay" align="center">6</td>
                        </tr>
                        <tr>
                            <td class="CalWeekendDay" align="center">7</td>
                            <td align="center">8</td>
                            <td align="center">9</td>
                            <td align="center">10</td>
                            <td align="center">11</td>
                            <td align="center">12</td>
                            <td class="CalWeekendDay" align="center">13</td>
                        </tr>
                        <tr>
                            <td class="CalWeekendDay" align="center">14</td>
                            <td align="center">15</td>
                            <td align="center">16</td>
                            <td align="center">17</td>
                            <td align="center">18</td>
                            <td align="center">19</td>
                            <td class="CalWeekendDay" align="center">20</td>
                        </tr>
                        <tr>
                            <td class="CalWeekendDay" align="center">21</td>
                            <td align="center">22</td>
                            <td align="center">23</td>
                            <td align="center">24</td>
                            <td align="center">25</td>
                            <td align="center">26</td>
                            <td class="CalWeekendDay" align="center">27</td>
                        </tr>
                        <tr>
                            <td class="CalWeekendDay" align="center">28</td>
                            <td align="center">29</td>
                            <td align="center">30</td>
                            <td align="center">31</td>
                            <td class="CalOtherMonthDay" align="center">1</td>
                            <td class="CalOtherMonthDay" align="center">2</td>
                            <td class="CalOtherMonthDay" align="center">3</td>
                        </tr>
                        <tr>
                            <td class="CalOtherMonthDay" align="center">4</td>
                            <td class="CalOtherMonthDay" align="center">5</td>
                            <td class="CalOtherMonthDay" align="center">6</td>
                            <td class="CalOtherMonthDay" align="center">7</td>
                            <td class="CalOtherMonthDay" align="center">8</td>
                            <td class="CalOtherMonthDay" align="center">9</td>
                            <td class="CalOtherMonthDay" align="center">10</td>
                        </tr>
                        </tbody>
                    </table>
                </div>
                <script type="text/javascript">loadBlogDefaultCalendar();</script>

                <div id="leftcontentcontainer">
                    <div id="blog-sidecolumn">
                        <div id="sidebar_search" class="sidebar-block">
                            <div id="sidebar_search" class="mySearch">
                                <h3 class="catListTitle">搜索</h3>
                                <div id="sidebar_search_box">
                                    <div id="widget_my_zzk" class="div_my_zzk"><input type="text" id="q"
                                                                                      onkeydown="return zzk_go_enter(event);"
                                                                                      class="input_my_zzk">&nbsp;<input
                                            onclick="zzk_go()" type="button" value="找找看" id="btnZzk" class="btn_my_zzk">
                                    </div>
                                    <div id="widget_my_google" class="div_my_zzk"><input type="text" name="google_q"
                                                                                         id="google_q"
                                                                                         onkeydown="return google_go_enter(event)"
                                                                                         class="input_my_zzk">&nbsp;<input
                                            onclick="google_go()" type="button" value="谷歌搜索" class="btn_my_zzk"></div>
                                </div>
                            </div>

                        </div>
                        <div id="sidebar_shortcut" class="sidebar-block">
                            <div class="catListLink">
                                <h3 class="catListTitle">常用链接</h3>
                                <ul>
                                    <li><a href="https://www.cnblogs.com/bkyxnc/p/" title="我的博客的随笔列表">我的随笔</a></li>
                                    <li><a href="https://www.cnblogs.com/bkyxnc/MyComments.html"
                                           title="我发表过的评论列表">我的评论</a></li>
                                    <li><a href="https://www.cnblogs.com/bkyxnc/OtherPosts.html"
                                           title="我评论过的随笔列表">我的参与</a></li>
                                    <li><a href="https://www.cnblogs.com/bkyxnc/RecentComments.html" title="我的博客的评论列表">最新评论</a>
                                    </li>
                                    <li><a href="https://www.cnblogs.com/bkyxnc/tag/" title="我的博客的标签列表">我的标签</a></li>
                                </ul>
                                <div id="itemListLin_con" style="display:none;">
                                    <ul>

                                    </ul>
                                </div>
                            </div>
                        </div>
                        <div id="sidebar_toptags" class="sidebar-block">
                            <div class="catListTag">
                                <h3 class="catListTitle">我的标签</h3>
                                <ul>
                                    <li><a href="https://www.cnblogs.com/bkyxnc/tag/%E9%9B%86%E5%90%88/">集合</a>(1)</li>
                                    <li>
                                        <a href="https://www.cnblogs.com/bkyxnc/tag/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/">数据结构</a>(1)
                                    </li>
                                </ul>
                            </div>
                        </div>
                        <div id="sidebar_categories">
                            <div id="sidebar_postcategory" class="catListPostCategory sidebar-block">
                                <h3 class="catListTitle">随笔分类</h3>

                                <ul>

                                    <li><a id="CatList_LinkList_0_Link_0"
                                           href="https://www.cnblogs.com/bkyxnc/category/1055331.html">java(3)</a></li>

                                    <li><a id="CatList_LinkList_0_Link_1"
                                           href="https://www.cnblogs.com/bkyxnc/category/1240348.html">前端(1)</a></li>

                                </ul>

                            </div>

                            <div id="sidebar_postarchive" class="catListPostArchive sidebar-block">
                                <h3 class="catListTitle">随笔档案</h3>

                                <ul>

                                    <li><a id="CatList_LinkList_1_Link_0"
                                           href="https://www.cnblogs.com/bkyxnc/archive/2019/03.html">2019年3月 (1)</a>
                                    </li>

                                    <li><a id="CatList_LinkList_1_Link_1"
                                           href="https://www.cnblogs.com/bkyxnc/archive/2018/06.html">2018年6月 (1)</a>
                                    </li>

                                    <li><a id="CatList_LinkList_1_Link_2"
                                           href="https://www.cnblogs.com/bkyxnc/archive/2018/05.html">2018年5月 (2)</a>
                                    </li>

                                </ul>

                            </div>

                        </div>
                        <div id="sidebar_recentcomments" class="sidebar-block">
                            <div id="recent_comments_wrap" style="display: none;">
                                <div class="catListComment">
                                    <h3 class="catListTitle">最新评论</h3>

                                    <div id="RecentCommentsBlock"></div>
                                </div>
                            </div>
                        </div>
                        <div id="sidebar_topviewedposts" class="sidebar-block">
                            <div id="topview_posts_wrap">
                                <div class="catListView">
                                    <h3 class="catListTitle">阅读排行榜</h3>
                                    <div id="TopViewPostsBlock">
                                        <ul>
                                            <li><a href="https://www.cnblogs.com/bkyxnc/p/8989131.html">1. java 实现 PDF
                                                加水印功能(1362)</a></li>
                                            <li><a href="https://www.cnblogs.com/bkyxnc/p/8989593.html">2. java Html 转
                                                PDF(752)</a></li>
                                            <li><a href="https://www.cnblogs.com/bkyxnc/p/10460199.html">3. Java
                                                Collection 学习(192)</a></li>
                                            <li><a href="https://www.cnblogs.com/bkyxnc/p/9214147.html">4.
                                                DataTable的Ajax使用(34)</a></li>
                                        </ul>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div id="sidebar_topcommentedposts" class="sidebar-block">
                            <div id="topfeedback_posts_wrap" style="display: none;">
                                <div class="catListFeedback">
                                    <h3 class="catListTitle">评论排行榜</h3>
                                    <div id="TopFeedbackPostsBlock"></div>
                                </div>
                            </div>
                        </div>
                        <div id="sidebar_topdiggedposts" class="sidebar-block">
                            <div id="topdigg_posts_wrap" style="display: none;">
                                <div class="catListView">
                                    <h3 class="catListTitle">推荐排行榜</h3>
                                    <div id="TopDiggPostsBlock"></div>
                                </div>
                            </div>
                        </div>
                    </div>
                    <script type="text/javascript">loadBlogSideColumn();</script>
                </div>

            </div><!--end: sideBarMain -->
        </div><!--end: sideBar 侧边栏容器 -->
        <div class="clear"></div>
    </div><!--end: main -->
    <div class="clear"></div>
    <div id="footer">

        <!--done-->
        Copyright ©2019 上路edc
    </div><!--end: footer -->
</div><!--end: home 自定义的最大容器 -->


<iframe id="google_osd_static_frame_4499482152517" name="google_osd_static_frame"
        style="display: none; width: 0px; height: 0px;"></iframe>
</body>
</html>